package 牛客周赛.牛客周赛Round39;

import java.util.Arrays;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

/**
 * @Title: D小红不想做完全背包困难版的
 * @Author 贾金博
 * @Package 牛客周赛.牛客周赛Round39
 * @Date 2024/4/8 21:32
 * @description: 这个好像真的是背包问题了
 */
public class D小红不想做完全背包困难版的 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n, p;
        n = sc.nextInt();
        p = sc.nextInt();
        int ret = p;
        int[] a = new int[n];

        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt() % p;
        }
        if(a[0] == 0) {
            System.out.println(1);
            return;
        }
        int[]dp = new int[p]; // dp问题

        for(int i = 0; i < p; ++ i ) {
            dp[i] = p;
        }
        //初始化
        for(int i = 0; i < n; ++ i ) {
            dp[a[i]] = 1;
        }

        for(int i = 0; i < n; ++ i ) { // 最多执行p次
            for(int j = 0; j < p; ++ j ) {
                int t = (j - a[i] + p ) % p;
                dp[j] = Math.min(dp[j], dp[t] + 1);
            }
        }
        System.out.println(dp[0]);
    }
}